﻿using System;

namespace SharePoint.Sunbox.Sandbox.DataViewWebPart
{
    [Serializable]
    public class SunboxDataViewDataSource
    {
        /// <summary>
        /// Content container id
        /// </summary>
        public string DynamicContentContainerId { get; set; }

        /// <summary>
        /// Uid
        /// </summary>
        public string Id { get; set; }

        /// <summary>
        /// SharePoint list id
        /// </summary>
        public string ListId { get; set; }

        /// <summary>
        /// Container Id
        /// </summary>
        public string PagerContainerId { get; set; }

        /// <summary>
        /// Pager link name
        /// </summary>
        public string PagerDisplayName { get; set; }

        /// <summary>
        /// Pager style
        /// 0 - No pager
        /// 1 - Replacement
        /// 2 - Adding
        /// 3 - Auto loading
        /// </summary>
        public int PagerStyle { get; set; }


        /// <summary>
        /// CAML query
        /// </summary>
        public string Query { get; set; }

        /// <summary>
        /// Recursive Scope
        /// </summary>
        public bool RecursiveScope { get; set; }

        /// <summary>
        /// Enabled client caching for data source
        /// </summary>
        public bool? CacheOnClient { get; set; }

        /// <summary>
        /// Query row limit
        /// </summary>
        public int RowLimit { get; set; }

        /// <summary>
        /// Data source title
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// View Fields Parameter
        /// </summary>
        public string ViewFields { get; set; }

        /// <summary>
        /// View Id
        /// </summary>
        public string ViewId { get; set; }

        /// <summary>
        /// Web url address
        /// </summary>
        public string WebUrl { get; set; }

        /// <summary>
        /// Last modified date
        /// </summary>
        public string Modified { get; set; }
    }
}